home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / eiffel / smalleif.97 / se.t / SmallEiffel / bin_c / compile_to_c9.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-05-02  |  31.4 KB  |  1,430 lines

  1. /* ANSI C code generated by SmallEiffel. */
  2. /*
  3. -- SmallEiffel  -- Release (- 0.97)    --      FRANCE
  4. -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN 
  5. -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr 
  6. -- CRIN (Centre de Recherche en Informatique de Nancy)
  7. -- FRANCE 
  8. */
  9. #include "compile_to_c.h"
  10. T0* rT103written_mark(T103 *C){
  11. T0* R=NULL;
  12. {T7 *n=((T7*)new(7));
  13. rT7copy(n,(T0 *)ms1479);
  14. R=(T0 *)n;}
  15. rT7append((T7*)R,XrT67to_string((C)->_n));
  16. return R;
  17. }
  18. T0 * rT103base_class_name(/*C*/void){
  19. T0 * R=NULL;
  20. if (ofBC102base_class_name==0){
  21. ofBC102base_class_name=1;
  22. {T48 *n=((T48*)new(48));
  23. rT48make(n,(T0 *)ms1463,NULL);
  24. R=(T0 *)n;}
  25. oRBC102base_class_name=R;}
  26. return oRBC102base_class_name;}
  27. void rT103copy(T103 *C,T0 * a1){
  28. /*IF*//*AF*//*AE*/
  29. memcpy(C,a1,s[C->id]);
  30. /*FI*/}
  31. int rT103is_a_in(T103 *C,T0 * a1,T0 * a2){
  32. int R=0;
  33. T0 * _ct=NULL;
  34. T0 * _t2=NULL;
  35. T0 * _t1=NULL;
  36. /*IF*/if (rT7is_equal((T7*)rT103written_mark(C),XrT58written_mark(a1))) {
  37. R=1;
  38. }
  39. else {
  40. _ct=((T260*)a2)->_current_type;
  41. _t1=rT103to_runnable(C,_ct);
  42. _t2=XrT58to_runnable(a1,_ct);
  43. /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) {
  44. R=1;
  45. }
  46. else {
  47. R=XrT58is_a(_t1,_t2);
  48. }
  49. /*FI*/}
  50. /*FI*/return R;
  51. }
  52. int rT103is_a(T103 *C,T0 * a1){
  53. int R=0;
  54. T0 * _other_bit=NULL;
  55. /*IF*/if (XrT58is_bit(a1)) {
  56. _other_bit=a1;
  57. if ((int)_other_bit) switch (((T0 *)_other_bit)->id) {
  58. case 101: case 103: 
  59. break;
  60. default:
  61. _other_bit = NULL;
  62. };/*IF*/if (((C)->_nb)<=(XrT102nb(_other_bit))) {
  63. R=1;
  64. }
  65. else {
  66. /*UT*/(T45*)oRBC27eh;
  67. rT45add_type((T0 *)C,(T0 *)ms1483);
  68. /*UT*/(T45*)oRBC27eh;
  69. rT45add_type(a1,(T0 *)ms1484);
  70. }
  71. /*FI*/}
  72. /*FI*/return R;
  73. }
  74. void rT103expanded_to_reference(T103 *C){
  75. /*IF*/if (((T0 *)rT103run_type(C))!=((T0 *)C)) {
  76. XrT58expanded_to_reference(rT103run_type(C));
  77. }
  78.  else {/*AT*//*UT*/(T45*)oRBC27eh;
  79. rT45add_type((T0 *)C,(T0 *)ms1007);
  80. rT103fatal_error((T0 *)ms1008);
  81. }
  82. /*FI*/}
  83. int rT103has_creation(/*C*/T0 * a1){
  84. int R=0;
  85. return R;
  86. }
  87. void rT103make(T103 *C,T0 * a1,T0 * a2){
  88. C->_start_position=a1;
  89. C->_n=a2;
  90. C->_nb=-(1);
  91. }
  92. void rT103c_type_in(/*C*/T0* a1){
  93. rT7append((T7*)a1,(T0 *)ms1495);
  94. }
  95. int rT104is_run_type(T104 *C){
  96. int R=0;
  97. R=((int)(C)->_run_type);
  98. return R;
  99. }
  100. T0* rT104run_time_mark(T104 *C){
  101. T0* R=NULL;
  102. R=XrT58run_time_mark((C)->_run_type);
  103. return R;
  104. }
  105. void rT104fatal_error(/*C*/T0* a1){
  106. rT45fatal_error((T45*)oRBC27eh,a1);
  107. }
  108. T0 * rT104to_runnable(T104 *C,T0 * a1){
  109. T0 * R=NULL;
  110. T0 * _t=NULL;
  111. T0 * _p=NULL;
  112. T0 * _bc_ct=NULL;
  113. T0 * _bc_written=NULL;
  114. /*IF*/if (!((C)->_run_type)) {
  115. _bc_written=rT46base_class((T46*)rT104start_position(C));
  116. _bc_ct=XrT58base_class(a1);
  117. /*IF*/if (((T0 *)_bc_written)==((T0 *)_bc_ct)) {
  118. C->_run_type=XrT58to_runnable(rT106item((T106*)XrT58generic_list(a1),(C)->_rank),a1);
  119. /*IF*/if ((!((C)->_run_type))||(!(XrT58is_run_type((C)->_run_type)))) {
  120. rT104error(rT104start_position(C),(T0 *)ms1438);
  121. }
  122. else {
  123. C->_run_type=XrT58run_type((C)->_run_type);
  124. R=(T0 *)C;
  125. }
  126. /*FI*/}
  127.  else if (rT50is_subclass_of((T50*)_bc_ct,_bc_written)) {
  128. _p=rT50parent((T50*)_bc_ct,_bc_written);
  129. _t=((T118*)_p)->_type;
  130. C->_run_type=XrT58to_runnable(rT106item((T106*)XrT58generic_list(_t),(C)->_rank),a1);
  131. /*IF*/if (!((C)->_run_type)) {
  132. rT104error(rT104start_position(C),(T0 *)ms1438);
  133. }
  134. else {
  135. C->_run_type=XrT58run_type((C)->_run_type);
  136. R=(T0 *)C;
  137. }
  138. /*FI*/}
  139. else {
  140. /*UT*/(T45*)oRBC27eh;
  141. rT45add_type((T0 *)C,(T0 *)ms1441);
  142. /*UT*/(T45*)oRBC27eh;
  143. rT45add_type(a1,(T0 *)ms1442);
  144. rT45print_as_error((T45*)oRBC27eh);
  145. }
  146. /*FI*/}
  147. else {
  148. {T104 *n=((T104*)new(104));
  149. rT104make(n,(C)->_formal_name,(C)->_rank);
  150. R=(T0 *)n;}
  151. R=rT104to_runnable((T104*)R,a1);
  152. }
  153. /*FI*/return R;
  154. }
  155. void rT104cast_to_ref(T104 *C){
  156. XrT58cast_to_ref((C)->_run_type);
  157. }
  158. void rT104error(/*C*/T0 * a1,T0* a2){
  159. /*UT*/(T45*)oRBC27eh;
  160. rT45add_position(a1);
  161. rT45error((T45*)oRBC27eh,a2);
  162. }
  163. int rT104is_boolean(T104 *C){
  164. int R=0;
  165. R=XrT58is_boolean((C)->_run_type);
  166. return R;
  167. }
  168. int rT104fast_mapping_c(T104 *C){
  169. int R=0;
  170. R=XrT58fast_mapping_c((C)->_run_type);
  171. return R;
  172. }
  173. int rT104id(T104 *C){
  174. int R=0;
  175. R=((T260*)rT104run_class(C))->_id;
  176. return R;
  177. }
  178. T0 * rT104start_position(T104 *C){
  179. T0 * R=NULL;
  180. R=((T48*)(C)->_formal_name)->_start_position;
  181. return R;
  182. }
  183. T0* rT104generic_list(T104 *C){
  184. T0* R=NULL;
  185. /*UT*/(T45*)oRBC27eh;
  186. rT45add_type((T0 *)C,(T0 *)ms1437);
  187. rT45print_as_fatal_error((T45*)oRBC27eh);
  188. return R;
  189. }
  190. int rT104is_reference(T104 *C){
  191. int R=0;
  192. R=XrT58is_reference((C)->_run_type);
  193. return R;
  194. }
  195. T0 * rT104look_up_for(T104 *C,T0 * a1,T0 * a2){
  196. T0 * R=NULL;
  197. T0 * _bc=NULL;
  198. _bc=rT104base_class(C);
  199. /*IF*/if (((int)_bc)) {
  200. R=rT50look_up_for((T50*)_bc,a1,a2);
  201. }
  202. else {
  203. /*UT*/(T45*)oRBC27eh;
  204. rT45append((T0 *)ms481);
  205. /*UT*/(T45*)oRBC27eh;
  206. rT45add_type((T0 *)C,(T0 *)ms38);
  207. rT45print_as_error((T45*)oRBC27eh);
  208. }
  209. /*FI*/return R;
  210. }
  211. void rT104mapping_c_in(T104 *C,T0* a1){
  212. rT7extend((T7*)a1,'T');
  213. rT2append_in(rT104id(C),a1);
  214. }
  215. void rT104mapping_cast(T104 *C){
  216. rT7copy((T7*)oRBC58tmp_string,(T0 *)ms800);
  217. rT2append_in(rT104id(C),oRBC58tmp_string);
  218. /*IF*/if (rT104is_reference(C)) {
  219. rT7extend((T7*)oRBC58tmp_string,'\52');
  220. }
  221. /*FI*/rT7extend((T7*)oRBC58tmp_string,'\51');
  222. rT40put_string((T40*)oRBC27cpp,oRBC58tmp_string);
  223. }
  224. T0 * rT104run_class(T104 *C){
  225. T0 * R=NULL;
  226. R=(/*UT*/(T52*)oRBC27small_eiffel,
  227. rT52run_class((C)->_run_type));
  228. return R;
  229. }
  230. int rT104is_expanded(T104 *C){
  231. int R=0;
  232. R=XrT58is_expanded((C)->_run_type);
  233. return R;
  234. }
  235. T0 * rT104smallest_ancestor(T104 *C,T0 * a1){
  236. T0 * R=NULL;
  237. R=XrT58smallest_ancestor((C)->_run_type,a1);
  238. return R;
  239. }
  240. T0* rT104written_mark(T104 *C){
  241. T0* R=NULL;
  242. R=((T48*)(C)->_formal_name)->_to_string;
  243. return R;
  244. }
  245. T0 * rT104base_class_name(T104 *C){
  246. T0 * R=NULL;
  247. R=XrT58base_class_name((C)->_run_type);
  248. return R;
  249. }
  250. T0 * rT104base_class(T104 *C){
  251. T0 * R=NULL;
  252. R=rT48base_class((T48*)rT104base_class_name(C));
  253. return R;
  254. }
  255. void rT104copy(T104 *C,T0 * a1){
  256. /*IF*//*AF*//*AE*/
  257. memcpy(C,a1,s[C->id]);
  258. /*FI*/}
  259. int rT104is_a_in(T104 *C,T0 * a1,T0 * a2){
  260. int R=0;
  261. T0 * _ct=NULL;
  262. T0 * _t2=NULL;
  263. T0 * _t1=NULL;
  264. /*IF*/if (rT7is_equal((T7*)rT104written_mark(C),XrT58written_mark(a1))) {
  265. R=1;
  266. }
  267. else {
  268. _ct=((T260*)a2)->_current_type;
  269. _t1=rT104to_runnable(C,_ct);
  270. _t2=XrT58to_runnable(a1,_ct);
  271. /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) {
  272. R=1;
  273. }
  274. else {
  275. R=XrT58is_a(_t1,_t2);
  276. }
  277. /*FI*/}
  278. /*FI*/return R;
  279. }
  280. int rT104is_a(T104 *C,T0 * a1){
  281. int R=0;
  282. R=XrT58is_a((C)->_run_type,a1);
  283. return R;
  284. }
  285. void rT104expanded_to_reference(T104 *C){
  286. /*IF*/if (((T0 *)(C)->_run_type)!=((T0 *)C)) {
  287. XrT58expanded_to_reference((C)->_run_type);
  288. }
  289.  else if (rT104is_expanded(C)) {
  290. /*UT*/(T45*)oRBC27eh;
  291. rT45add_type((T0 *)C,(T0 *)ms1007);
  292. rT104fatal_error((T0 *)ms1008);
  293. }
  294. /*FI*/}
  295. int rT104has_creation(T104 *C,T0 * a1){
  296. int R=0;
  297. /*IF*/if (((T0 *)C)==((T0 *)(C)->_run_type)) {
  298. R=rT50has_creation((T50*)rT104base_class(C),a1);
  299. }
  300. else {
  301. R=XrT58has_creation((C)->_run_type,a1);
  302. }
  303. /*FI*/return R;
  304. }
  305. void rT104make(T104 *C,T0 * a1,int a2){
  306. C->_rank=a2;
  307. C->_formal_name=a1;
  308. }
  309. void rT104c_type_in(T104 *C,T0* a1){
  310. XrT58c_type_in((C)->_run_type,a1);
  311. }
  312. int rT105is_run_type(T105 *C){
  313. int R=0;
  314. R=((int)(C)->_run_type);
  315. return R;
  316. }
  317. T0* rT105run_time_mark(T105 *C){
  318. T0* R=NULL;
  319. R=((T105*)(C)->_run_type)->_written_mark;
  320. return R;
  321. }
  322. void rT105fatal_error(/*C*/T0* a1){
  323. rT45fatal_error((T45*)oRBC27eh,a1);
  324. }
  325. T0 * rT105to_runnable(T105 *C,T0 * a1){
  326. T0 * R=NULL;
  327. int _ne=0;
  328. T0 * _rt=NULL;
  329. T0 * _run_array_of=NULL;
  330. /*IF*/if (((T0 *)(C)->_run_type)==((T0 *)C)) {
  331. _run_array_of=XrT58to_runnable(rT105array_of(C),a1);
  332. R=(T0 *)C;
  333. }
  334. else {
  335. _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
  336. _run_array_of=XrT58to_runnable(rT105array_of(C),a1);
  337. /*IF*/if ((!(_run_array_of))||(!(XrT58is_run_type(_run_array_of)))) {
  338. rT105error(XrT58start_position(rT105array_of(C)),(T0 *)ms1118);
  339. }
  340. /*FI*/_run_array_of=XrT58run_type(_run_array_of);
  341. /*IF*/if (((_ne)-(/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/))==(0)) {
  342. /*IF*/if (!((C)->_run_type)) {
  343. {T105 *n=((T105*)new(105));
  344. rT105make(n,rT105start_position(C),_run_array_of);
  345. C->_run_type=(T0 *)n;}
  346. R=(T0 *)C;
  347. }
  348. else {
  349. /*IF*/if (((T0 *)rT106first((T106*)((T105*)(C)->_run_type)->_generic_list))==((T0 *)_run_array_of)) {
  350. R=(T0 *)C;
  351. }
  352. else {
  353. R=rT105clone(C,(T0 *)C);
  354. {T105 *n=((T105*)new(105));
  355. rT105make(n,rT105start_position(C),_run_array_of);
  356. _rt=(T0 *)n;}
  357. /*(IRF3*/(((T105*)R)->_run_type)=(_rt);
  358. /*)*/}
  359. /*FI*/}
  360. /*FI*/}
  361. /*FI*/}
  362. /*FI*/return R;
  363. }
  364. void rT105cast_to_ref(T105 *C){
  365. rT105cast_to_ref((T105*)(C)->_run_type);
  366. }
  367. void rT105error(/*C*/T0 * a1,T0* a2){
  368. /*UT*/(T45*)oRBC27eh;
  369. rT45add_position(a1);
  370. rT45error((T45*)oRBC27eh,a2);
  371. }
  372. int rT105id(T105 *C){
  373. int R=0;
  374. R=((T260*)rT105run_class(C))->_id;
  375. return R;
  376. }
  377. T0 * rT105start_position(T105 *C){
  378. T0 * R=NULL;
  379. R=((T48*)(C)->_base_class_name)->_start_position;
  380. return R;
  381. }
  382. T0* rT105clone(T105 *C,T0* a1){
  383. T0* R=NULL;
  384. /*IF*/if (((int)a1)) {
  385. R=(T0 *)new(a1->id);
  386. AF_1
  387. XrT28copy(R,a1);
  388. AF_0
  389. }
  390. /*FI*/return R;
  391. }
  392. T0 * rT105look_up_for(T105 *C,T0 * a1,T0 * a2){
  393. T0 * R=NULL;
  394. T0 * _bc=NULL;
  395. _bc=rT105base_class(C);
  396. /*IF*/if (((int)_bc)) {
  397. R=rT50look_up_for((T50*)_bc,a1,a2);
  398. }
  399. else {
  400. /*UT*/(T45*)oRBC27eh;
  401. rT45append((T0 *)ms481);
  402. /*UT*/(T45*)oRBC27eh;
  403. rT45add_type((T0 *)C,(T0 *)ms38);
  404. rT45print_as_error((T45*)oRBC27eh);
  405. }
  406. /*FI*/return R;
  407. }
  408. void rT105mapping_c_in(T105 *C,T0* a1){
  409. rT7extend((T7*)a1,'T');
  410. rT2append_in(rT105id(C),a1);
  411. }
  412. void rT105mapping_cast(T105 *C){
  413. rT7copy((T7*)oRBC58tmp_string,(T0 *)ms800);
  414. rT2append_in(rT105id(C),oRBC58tmp_string);
  415. /*IF*/{/*AT*/rT7extend((T7*)oRBC58tmp_string,'\52');
  416. }
  417. /*FI*/rT7extend((T7*)oRBC58tmp_string,'\51');
  418. rT40put_string((T40*)oRBC27cpp,oRBC58tmp_string);
  419. }
  420. T0 * rT105run_class(T105 *C){
  421. T0 * R=NULL;
  422. R=(/*UT*/(T52*)oRBC27small_eiffel,
  423. rT52run_class((C)->_run_type));
  424. return R;
  425. }
  426. T0 * rT105smallest_ancestor(T105 *C,T0 * a1){
  427. T0 * R=NULL;
  428. T0 * _array_of3=NULL;
  429. T0 * _array_of2=NULL;
  430. T0 * _array_of1=NULL;
  431. T0 * _rto=NULL;
  432. _rto=XrT58run_type(a1);
  433. /*IF*/if (XrT58is_array(_rto)) {
  434. _array_of1=XrT58run_type(rT105array_of(C));
  435. _array_of2=rT106first((T106*)XrT58generic_list(_rto));
  436. _array_of3=XrT58smallest_ancestor(_array_of1,_array_of2);
  437. /*IF*/if (((T0 *)_array_of3)==((T0 *)_array_of1)) {
  438. R=(T0 *)C;
  439. }
  440.  else if (((T0 *)_array_of3)==((T0 *)_array_of2)) {
  441. R=a1;
  442. }
  443. else {
  444. {T105 *n=((T105*)new(105));
  445. rT105make(n,NULL,_array_of3);
  446. R=(T0 *)n;}}
  447. /*FI*/}
  448. else {
  449. rT105fatal_error((T0 *)ms1466);
  450. }
  451. /*FI*/return R;
  452. }
  453. T0 * rT105base_class(T105 *C){
  454. T0 * R=NULL;
  455. R=rT48base_class((T48*)(C)->_base_class_name);
  456. return R;
  457. }
  458. void rT105copy(T105 *C,T0 * a1){
  459. /*IF*//*AF*//*AE*/
  460. memcpy(C,a1,s[C->id]);
  461. /*FI*/}
  462. int rT105is_a_in(T105 *C,T0 * a1,T0 * a2){
  463. int R=0;
  464. T0 * _ct=NULL;
  465. T0 * _t2=NULL;
  466. T0 * _t1=NULL;
  467. /*IF*/if (rT7is_equal((T7*)(C)->_written_mark,XrT58written_mark(a1))) {
  468. R=1;
  469. }
  470. else {
  471. _ct=((T260*)a2)->_current_type;
  472. _t1=rT105to_runnable(C,_ct);
  473. _t2=XrT58to_runnable(a1,_ct);
  474. /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) {
  475. R=1;
  476. }
  477. else {
  478. R=XrT58is_a(_t1,_t2);
  479. }
  480. /*FI*/}
  481. /*FI*/return R;
  482. }
  483. void rT105c_struct(T105 *C){
  484. /*IF*/if (XrT58is_expanded(XrT58run_type(rT105array_of(C)))) {
  485. rT40put_string((T40*)oRBC27cpp,(T0 *)ms1480);
  486. rT40put_integer((T40*)oRBC27cpp,rT105id(C));
  487. rT40put_string((T40*)oRBC27cpp,(T0 *)ms1481);
  488. rT40put_integer((T40*)oRBC27cpp,XrT58id(rT105array_of(C)));
  489. rT40put_character((T40*)oRBC27cpp,'\40');
  490. rT40put_string((T40*)oRBC27cpp,(T0 *)ms1482);
  491. }
  492. /*FI*/}
  493. int rT105is_a(T105 *C,T0 * a1){
  494. int R=0;
  495. /*IF*/if (((T0 *)rT105run_class(C))==((T0 *)XrT58run_class(a1))) {
  496. R=1;
  497. }
  498.  else if (XrT58is_array(a1)) {
  499. R=XrT58is_a(rT105array_of(C),rT106first((T106*)XrT58generic_list(a1)));
  500. }
  501.  else if (rT50is_subclass_of((T50*)rT105base_class(C),XrT58base_class(a1))) {
  502. R=1;
  503. }
  504. else {
  505. /*IF*/if (rT50is_subclass_of((T50*)XrT58base_class(a1),rT105base_class(C))) {
  506. /*UT*/(T45*)oRBC27eh;
  507. rT45add_type(a1,(T0 *)ms1485);
  508. /*UT*/(T45*)oRBC27eh;
  509. rT45add_type((T0 *)C,(T0 *)ms1486);
  510. }
  511. else {
  512. /*UT*/(T45*)oRBC27eh;
  513. rT45add_type((T0 *)C,(T0 *)ms1483);
  514. /*UT*/(T45*)oRBC27eh;
  515. rT45add_type(a1,(T0 *)ms38);
  516. }
  517. /*FI*/}
  518. /*FI*/return R;
  519. }
  520. void rT105expanded_to_reference(T105 *C){
  521. /*IF*/if (((T0 *)(C)->_run_type)!=((T0 *)C)) {
  522. rT105expanded_to_reference((T105*)(C)->_run_type);
  523. }
  524. /*AF*//*FI*/}
  525. int rT105has_creation(T105 *C,T0 * a1){
  526. int R=0;
  527. /*IF*/if (((T0 *)C)==((T0 *)(C)->_run_type)) {
  528. R=rT50has_creation((T50*)rT105base_class(C),a1);
  529. }
  530. else {
  531. R=rT105has_creation((T105*)(C)->_run_type,a1);
  532. }
  533. /*FI*/return R;
  534. }
  535. void rT105make(T105 *C,T0 * a1,T0 * a2){
  536. {T48 *n=((T48*)new(48));
  537. rT48make(n,(T0 *)ms187,a1);
  538. C->_base_class_name=(T0 *)n;}
  539. C->_generic_list=ma(106,0,1,a2);
  540. /*IF*/if (((T0 *)XrT58run_type(a2))==((T0 *)a2)) {
  541. C->_run_type=(T0 *)C;
  542. }
  543. /*FI*/{T7 *n=((T7*)new(7));
  544. rT7copy(n,(T0 *)ms212);
  545. C->_written_mark=(T0 *)n;}
  546. rT7append((T7*)(C)->_written_mark,XrT58written_mark(a2));
  547. rT7extend((T7*)(C)->_written_mark,'\135');
  548. }
  549. void rT105c_typedef(T105 *C){
  550. int _mem_id=0;
  551. _mem_id=rT105id(C);
  552. rT40put_string((T40*)oRBC27cpp,(T0 *)ms1503);
  553. /*IF*/if (XrT58is_expanded(XrT58run_type(rT105array_of(C)))) {
  554. rT40put_integer((T40*)oRBC27cpp,_mem_id);
  555. }
  556. else {
  557. rT40put_string((T40*)oRBC27cpp,(T0 *)ms1504);
  558. }
  559. /*FI*/rT40put_string((T40*)oRBC27cpp,(T0 *)ms1505);
  560. rT40put_integer((T40*)oRBC27cpp,_mem_id);
  561. rT40put_string((T40*)oRBC27cpp,(T0 *)ms1506);
  562. }
  563. void rT105c_type_in(/*C*/T0* a1){
  564. rT7append((T7*)a1,(T0 *)ms764);
  565. }
  566. T0 * rT105array_of(T105 *C){
  567. T0 * R=NULL;
  568. R=rT106first((T106*)(C)->_generic_list);
  569. return R;
  570. }
  571. void rT107fatal_error(/*C*/T0* a1){
  572. rT45fatal_error((T45*)oRBC27eh,a1);
  573. }
  574. int ofBC107used_as_reference=0;
  575. void rT107used_as_reference(/*C*/void){
  576. if (ofBC107used_as_reference==0){
  577. ofBC107used_as_reference=1;
  578. rT107load_ref((T0 *)ms190);
  579. }
  580. }
  581. T0* rT107generic_list(T107 *C){
  582. T0* R=NULL;
  583. /*UT*/(T45*)oRBC27eh;
  584. rT45add_type((T0 *)C,(T0 *)ms1437);
  585. rT45print_as_fatal_error((T45*)oRBC27eh);
  586. return R;
  587. }
  588. T0 * rT107look_up_for(T107 *C,T0 * a1,T0 * a2){
  589. T0 * R=NULL;
  590. T0 * _bc=NULL;
  591. _bc=rT107base_class(C);
  592. /*IF*/if (((int)_bc)) {
  593. R=rT50look_up_for((T50*)_bc,a1,a2);
  594. }
  595. else {
  596. /*UT*/(T45*)oRBC27eh;
  597. rT45append((T0 *)ms481);
  598. /*UT*/(T45*)oRBC27eh;
  599. rT45add_type((T0 *)C,(T0 *)ms38);
  600. rT45print_as_error((T45*)oRBC27eh);
  601. }
  602. /*FI*/return R;
  603. }
  604. T0 * rT107run_class(T107 *C){
  605. T0 * R=NULL;
  606. R=(/*UT*/(T52*)oRBC27small_eiffel,
  607. rT52run_class(rT107run_type(C)));
  608. return R;
  609. }
  610. void rT107mapping_c_in(/*C*/T0* a1){
  611. rT7extend((T7*)a1,'T');
  612. rT2append_in(/*(IRF4*/6/*)*/,a1);
  613. }
  614. T0 * rT107smallest_ancestor(T107 *C,T0 * a1){
  615. T0 * R=NULL;
  616. T0 * _rto=NULL;
  617. _rto=XrT58run_type(a1);
  618. /*IF*/if (XrT58is_boolean(_rto)) {
  619. R=(T0 *)C;
  620. }
  621. else {
  622. rT107fatal_error((T0 *)ms1467);
  623. }
  624. /*FI*/return R;
  625. }
  626. void rT107expanded_to_reference(T107 *C){
  627. rT40conversion((T40*)oRBC27cpp,(T0 *)C,rT107type_boolean_ref());
  628. }
  629. int rT107is_a(T107 *C,T0 * a1){
  630. int R=0;
  631. /*IF*/if (XrT58is_boolean(a1)) {
  632. R=1;
  633. }
  634. else {
  635. R=rT50is_subclass_of((T50*)rT107base_class(C),XrT58base_class(a1));
  636. }
  637. /*FI*//*IF*/if (!(R)) {
  638. /*UT*/(T45*)oRBC27eh;
  639. rT45add_type((T0 *)C,(T0 *)ms1483);
  640. /*UT*/(T45*)oRBC27eh;
  641. rT45add_type(a1,(T0 *)ms38);
  642. }
  643. /*FI*/return R;
  644. }
  645. void rT107make(T107 *C,T0 * a1){
  646. {T48 *n=((T48*)new(48));
  647. rT48make(n,(T0 *)ms189,a1);
  648. C->_base_class_name=(T0 *)n;}
  649. }
  650. void rT107c_type_in(/*C*/T0* a1){
  651. rT7append((T7*)a1,(T0 *)ms1496);
  652. }
  653. int ofBC27type_boolean_ref=0;
  654. T0*oRBC27type_boolean_ref;
  655. T0 * rT107type_boolean_ref(/*C*/void){
  656. T0 * R=NULL;
  657. T0 * _boolean_ref=NULL;
  658. if (ofBC27type_boolean_ref==0){
  659. ofBC27type_boolean_ref=1;
  660. {T48 *n=((T48*)new(48));
  661. rT48make(n,(T0 *)ms190,NULL);
  662. _boolean_ref=(T0 *)n;}
  663. {T116 *n=((T116*)new(116));
  664. /*(IRF3*/((n)->_base_class_name)=(_boolean_ref);
  665. /*)*/R=(T0 *)n;}
  666. oRBC27type_boolean_ref=R;}
  667. return oRBC27type_boolean_ref;}
  668. T0 * rT107run_type(T107 *C){
  669. T0 * R=NULL;
  670. R=(T0 *)C;
  671. return R;
  672. }
  673. T0 * rT107to_runnable(T107 *C,T0 * a1){
  674. T0 * R=NULL;
  675. R=(T0 *)C;
  676. rT107check_type(C);
  677. return R;
  678. }
  679. void rT107error(/*C*/T0 * a1,T0* a2){
  680. /*UT*/(T45*)oRBC27eh;
  681. rT45add_position(a1);
  682. rT45error((T45*)oRBC27eh,a2);
  683. }
  684. T0 * rT107start_position(T107 *C){
  685. T0 * R=NULL;
  686. R=((T48*)(C)->_base_class_name)->_start_position;
  687. return R;
  688. }
  689. T0 * rT107base_class(T107 *C){
  690. T0 * R=NULL;
  691. R=rT48base_class((T48*)(C)->_base_class_name);
  692. return R;
  693. }
  694. int rT107is_a_in(T107 *C,T0 * a1,T0 * a2){
  695. int R=0;
  696. T0 * _ct=NULL;
  697. T0 * _t2=NULL;
  698. T0 * _t1=NULL;
  699. /*IF*/if (rT7is_equal((T7*)/*(IRF4*/(T0 *)ms189/*)*/,XrT58written_mark(a1))) {
  700. R=1;
  701. }
  702. else {
  703. _ct=((T260*)a2)->_current_type;
  704. _t1=rT107to_runnable(C,_ct);
  705. _t2=XrT58to_runnable(a1,_ct);
  706. /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) {
  707. R=1;
  708. }
  709. else {
  710. R=XrT58is_a(_t1,_t2);
  711. }
  712. /*FI*/}
  713. /*FI*/return R;
  714. }
  715. void rT107copy(T107 *C,T0 * a1){
  716. /*IF*//*AF*//*AE*/
  717. memcpy(C,a1,s[C->id]);
  718. /*FI*/}
  719. int ofBC107check_type=0;
  720. void rT107check_type(T107 *C){
  721. T0 * _rc=NULL;
  722. T0 * _bc=NULL;
  723. if (ofBC107check_type==0){
  724. ofBC107check_type=1;
  725. _bc=rT107base_class(C);
  726. /*IF*/if (!(_bc)) {
  727. rT107error(rT107start_position(C),(T0 *)ms1443);
  728. }
  729. /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
  730. _rc=rT107run_class(C);
  731. }
  732. /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
  733. /*IF*/if (!(((T50*)_bc)->_is_expanded)) {
  734. rT107error(rT107start_position(C),(T0 *)ms1444);
  735. }
  736. /*FI*/}
  737. /*FI*/}
  738. }
  739. int rT107has_creation(T107 *C,T0 * a1){
  740. int R=0;
  741. /*UT*/(T45*)oRBC27eh;
  742. rT45add_position(XrT67start_position(a1));
  743. rT107error(rT107start_position(C),(T0 *)ms1492);
  744. return R;
  745. }
  746. void rT107load_ref(/*C*/T0* a1){
  747. T0 * _rf=NULL;
  748. T0 * _rc=NULL;
  749. T0 * _cn=NULL;
  750. {T48 *n=((T48*)new(48));
  751. rT48make(n,a1,NULL);
  752. _cn=(T0 *)n;}
  753. _rc=rT50run_class((T50*)rT48base_class((T48*)_cn));
  754. rT260set_at_run_time((T260*)_rc);
  755. _rf=rT260get_feature_with((T260*)_rc,(T0 *)ms1462);
  756. }
  757. void rT109fatal_error(/*C*/T0* a1){
  758. rT45fatal_error((T45*)oRBC27eh,a1);
  759. }
  760. int ofBC109used_as_reference=0;
  761. void rT109used_as_reference(/*C*/void){
  762. if (ofBC109used_as_reference==0){
  763. ofBC109used_as_reference=1;
  764. rT109load_ref((T0 *)ms192);
  765. }
  766. }
  767. T0* rT109generic_list(T109 *C){
  768. T0* R=NULL;
  769. /*UT*/(T45*)oRBC27eh;
  770. rT45add_type((T0 *)C,(T0 *)ms1437);
  771. rT45print_as_fatal_error((T45*)oRBC27eh);
  772. return R;
  773. }
  774. T0 * rT109look_up_for(T109 *C,T0 * a1,T0 * a2){
  775. T0 * R=NULL;
  776. T0 * _bc=NULL;
  777. _bc=rT109base_class(C);
  778. /*IF*/if (((int)_bc)) {
  779. R=rT50look_up_for((T50*)_bc,a1,a2);
  780. }
  781. else {
  782. /*UT*/(T45*)oRBC27eh;
  783. rT45append((T0 *)ms481);
  784. /*UT*/(T45*)oRBC27eh;
  785. rT45add_type((T0 *)C,(T0 *)ms38);
  786. rT45print_as_error((T45*)oRBC27eh);
  787. }
  788. /*FI*/return R;
  789. }
  790. T0 * rT109run_class(T109 *C){
  791. T0 * R=NULL;
  792. R=(/*UT*/(T52*)oRBC27small_eiffel,
  793. rT52run_class(rT109run_type(C)));
  794. return R;
  795. }
  796. void rT109mapping_c_in(/*C*/T0* a1){
  797. rT7extend((T7*)a1,'T');
  798. rT2append_in(/*(IRF4*/3/*)*/,a1);
  799. }
  800. T0 * rT109smallest_ancestor(T109 *C,T0 * a1){
  801. T0 * R=NULL;
  802. T0 * _rto=NULL;
  803. _rto=XrT58run_type(a1);
  804. /*IF*/if (XrT58is_character(_rto)) {
  805. R=(T0 *)C;
  806. }
  807.  else if (XrT58is_reference(_rto)) {
  808. R=rT116smallest_ancestor((T116*)rT109type_character_ref(),a1);
  809. }
  810. else {
  811. rT109fatal_error((T0 *)ms1471);
  812. }
  813. /*FI*/return R;
  814. }
  815. void rT109expanded_to_reference(T109 *C){
  816. rT40conversion((T40*)oRBC27cpp,(T0 *)C,rT109type_character_ref());
  817. }
  818. int rT109is_a(T109 *C,T0 * a1){
  819. int R=0;
  820. /*IF*/if (XrT58is_character(a1)) {
  821. R=1;
  822. }
  823. else {
  824. R=rT50is_subclass_of((T50*)rT109base_class(C),XrT58base_class(a1));
  825. }
  826. /*FI*//*IF*/if (!(R)) {
  827. /*UT*/(T45*)oRBC27eh;
  828. rT45add_type((T0 *)C,(T0 *)ms1483);
  829. /*UT*/(T45*)oRBC27eh;
  830. rT45add_type(a1,(T0 *)ms38);
  831. }
  832. /*FI*/return R;
  833. }
  834. void rT109make(T109 *C,T0 * a1){
  835. {T48 *n=((T48*)new(48));
  836. rT48make(n,(T0 *)ms191,a1);
  837. C->_base_class_name=(T0 *)n;}
  838. }
  839. void rT109c_type_in(/*C*/T0* a1){
  840. rT7append((T7*)a1,(T0 *)ms1497);
  841. }
  842. int ofBC27type_character_ref=0;
  843. T0*oRBC27type_character_ref;
  844. T0 * rT109type_character_ref(/*C*/void){
  845. T0 * R=NULL;
  846. T0 * _character_ref=NULL;
  847. if (ofBC27type_character_ref==0){
  848. ofBC27type_character_ref=1;
  849. {T48 *n=((T48*)new(48));
  850. rT48make(n,(T0 *)ms192,NULL);
  851. _character_ref=(T0 *)n;}
  852. {T116 *n=((T116*)new(116));
  853. /*(IRF3*/((n)->_base_class_name)=(_character_ref);
  854. /*)*/R=(T0 *)n;}
  855. oRBC27type_character_ref=R;}
  856. return oRBC27type_character_ref;}
  857. T0 * rT109run_type(T109 *C){
  858. T0 * R=NULL;
  859. R=(T0 *)C;
  860. return R;
  861. }
  862. T0 * rT109to_runnable(T109 *C,T0 * a1){
  863. T0 * R=NULL;
  864. R=(T0 *)C;
  865. rT109check_type(C);
  866. return R;
  867. }
  868. void rT109error(/*C*/T0 * a1,T0* a2){
  869. /*UT*/(T45*)oRBC27eh;
  870. rT45add_position(a1);
  871. rT45error((T45*)oRBC27eh,a2);
  872. }
  873. T0 * rT109start_position(T109 *C){
  874. T0 * R=NULL;
  875. R=((T48*)(C)->_base_class_name)->_start_position;
  876. return R;
  877. }
  878. T0 * rT109base_class(T109 *C){
  879. T0 * R=NULL;
  880. R=rT48base_class((T48*)(C)->_base_class_name);
  881. return R;
  882. }
  883. int rT109is_a_in(T109 *C,T0 * a1,T0 * a2){
  884. int R=0;
  885. T0 * _ct=NULL;
  886. T0 * _t2=NULL;
  887. T0 * _t1=NULL;
  888. /*IF*/if (rT7is_equal((T7*)/*(IRF4*/(T0 *)ms191/*)*/,XrT58written_mark(a1))) {
  889. R=1;
  890. }
  891. else {
  892. _ct=((T260*)a2)->_current_type;
  893. _t1=rT109to_runnable(C,_ct);
  894. _t2=XrT58to_runnable(a1,_ct);
  895. /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) {
  896. R=1;
  897. }
  898. else {
  899. R=XrT58is_a(_t1,_t2);
  900. }
  901. /*FI*/}
  902. /*FI*/return R;
  903. }
  904. void rT109copy(T109 *C,T0 * a1){
  905. /*IF*//*AF*//*AE*/
  906. memcpy(C,a1,s[C->id]);
  907. /*FI*/}
  908. int ofBC109check_type=0;
  909. void rT109check_type(T109 *C){
  910. T0 * _rc=NULL;
  911. T0 * _bc=NULL;
  912. if (ofBC109check_type==0){
  913. ofBC109check_type=1;
  914. _bc=rT109base_class(C);
  915. /*IF*/if (!(_bc)) {
  916. rT109error(rT109start_position(C),(T0 *)ms1445);
  917. }
  918. /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
  919. _rc=rT109run_class(C);
  920. }
  921. /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
  922. /*IF*/if (!(((T50*)_bc)->_is_expanded)) {
  923. rT109error(rT109start_position(C),(T0 *)ms1446);
  924. }
  925. /*FI*/}
  926. /*FI*/}
  927. }
  928. int rT109has_creation(T109 *C,T0 * a1){
  929. int R=0;
  930. /*UT*/(T45*)oRBC27eh;
  931. rT45add_position(XrT67start_position(a1));
  932. rT109error(rT109start_position(C),(T0 *)ms1492);
  933. return R;
  934. }
  935. void rT109load_ref(/*C*/T0* a1){
  936. T0 * _rf=NULL;
  937. T0 * _rc=NULL;
  938. T0 * _cn=NULL;
  939. {T48 *n=((T48*)new(48));
  940. rT48make(n,a1,NULL);
  941. _cn=(T0 *)n;}
  942. _rc=rT50run_class((T50*)rT48base_class((T48*)_cn));
  943. rT260set_at_run_time((T260*)_rc);
  944. _rf=rT260get_feature_with((T260*)_rc,(T0 *)ms1462);
  945. }
  946. void rT110fatal_error(/*C*/T0* a1){
  947. rT45fatal_error((T45*)oRBC27eh,a1);
  948. }
  949. int ofBC110used_as_reference=0;
  950. void rT110used_as_reference(/*C*/void){
  951. if (ofBC110used_as_reference==0){
  952. ofBC110used_as_reference=1;
  953. rT110load_ref((T0 *)ms199);
  954. }
  955. }
  956. T0* rT110generic_list(T110 *C){
  957. T0* R=NULL;
  958. /*UT*/(T45*)oRBC27eh;
  959. rT45add_type((T0 *)C,(T0 *)ms1437);
  960. rT45print_as_fatal_error((T45*)oRBC27eh);
  961. return R;
  962. }
  963. T0 * rT110look_up_for(T110 *C,T0 * a1,T0 * a2){
  964. T0 * R=NULL;
  965. T0 * _bc=NULL;
  966. _bc=rT110base_class(C);
  967. /*IF*/if (((int)_bc)) {
  968. R=rT50look_up_for((T50*)_bc,a1,a2);
  969. }
  970. else {
  971. /*UT*/(T45*)oRBC27eh;
  972. rT45append((T0 *)ms481);
  973. /*UT*/(T45*)oRBC27eh;
  974. rT45add_type((T0 *)C,(T0 *)ms38);
  975. rT45print_as_error((T45*)oRBC27eh);
  976. }
  977. /*FI*/return R;
  978. }
  979. T0 * rT110run_class(T110 *C){
  980. T0 * R=NULL;
  981. R=(/*UT*/(T52*)oRBC27small_eiffel,
  982. rT52run_class(rT110run_type(C)));
  983. return R;
  984. }
  985. void rT110mapping_c_in(/*C*/T0* a1){
  986. rT7extend((T7*)a1,'T');
  987. rT2append_in(/*(IRF4*/5/*)*/,a1);
  988. }
  989. T0 * rT110smallest_ancestor(T110 *C,T0 * a1){
  990. T0 * R=NULL;
  991. T0 * _rto=NULL;
  992. _rto=XrT58run_type(a1);
  993. /*IF*/if (XrT58is_integer(_rto)) {
  994. R=(T0 *)C;
  995. }
  996.  else if (XrT58is_real(_rto)) {
  997. R=(T0 *)C;
  998. }
  999.  else if (XrT58is_double(_rto)) {
  1000. R=(T0 *)C;
  1001. }
  1002.  else if (XrT58is_reference(_rto)) {
  1003. R=rT116smallest_ancestor((T116*)rT110type_double_ref(),a1);
  1004. }
  1005. else {
  1006. rT110fatal_error((T0 *)ms1472);
  1007. }
  1008. /*FI*/return R;
  1009. }
  1010. void rT110expanded_to_reference(T110 *C){
  1011. rT40conversion((T40*)oRBC27cpp,(T0 *)C,rT110type_double_ref());
  1012. }
  1013. int rT110is_a(T110 *C,T0 * a1){
  1014. int R=0;
  1015. /*IF*/if (XrT58is_double(a1)) {
  1016. R=1;
  1017. }
  1018. else {
  1019. R=rT50is_subclass_of((T50*)rT110base_class(C),XrT58base_class(a1));
  1020. }
  1021. /*FI*//*IF*/if (!(R)) {
  1022. /*UT*/(T45*)oRBC27eh;
  1023. rT45add_type((T0 *)C,(T0 *)ms1483);
  1024. /*UT*/(T45*)oRBC27eh;
  1025. rT45add_type(a1,(T0 *)ms38);
  1026. }
  1027. /*FI*/return R;
  1028. }
  1029. void rT110make(T110 *C,T0 * a1){
  1030. {T48 *n=((T48*)new(48));
  1031. rT48make(n,(T0 *)ms198,a1);
  1032. C->_base_class_name=(T0 *)n;}
  1033. }
  1034. void rT110c_type_in(/*C*/T0* a1){
  1035. rT7append((T7*)a1,(T0 *)ms1498);
  1036. }
  1037. int ofBC27type_double_ref=0;
  1038. T0*oRBC27type_double_ref;
  1039. T0 * rT110type_double_ref(/*C*/void){
  1040. T0 * R=NULL;
  1041. T0 * _double_ref=NULL;
  1042. if (ofBC27type_double_ref==0){
  1043. ofBC27type_double_ref=1;
  1044. {T48 *n=((T48*)new(48));
  1045. rT48make(n,(T0 *)ms199,NULL);
  1046. _double_ref=(T0 *)n;}
  1047. {T116 *n=((T116*)new(116));
  1048. /*(IRF3*/((n)->_base_class_name)=(_double_ref);
  1049. /*)*/R=(T0 *)n;}
  1050. oRBC27type_double_ref=R;}
  1051. return oRBC27type_double_ref;}
  1052. T0 * rT110run_type(T110 *C){
  1053. T0 * R=NULL;
  1054. R=(T0 *)C;
  1055. return R;
  1056. }
  1057. T0 * rT110to_runnable(T110 *C,T0 * a1){
  1058. T0 * R=NULL;
  1059. R=(T0 *)C;
  1060. rT110check_type(C);
  1061. return R;
  1062. }
  1063. void rT110error(/*C*/T0 * a1,T0* a2){
  1064. /*UT*/(T45*)oRBC27eh;
  1065. rT45add_position(a1);
  1066. rT45error((T45*)oRBC27eh,a2);
  1067. }
  1068. T0 * rT110start_position(T110 *C){
  1069. T0 * R=NULL;
  1070. R=((T48*)(C)->_base_class_name)->_start_position;
  1071. return R;
  1072. }
  1073. T0 * rT110base_class(T110 *C){
  1074. T0 * R=NULL;
  1075. R=rT48base_class((T48*)(C)->_base_class_name);
  1076. return R;
  1077. }
  1078. int rT110is_a_in(T110 *C,T0 * a1,T0 * a2){
  1079. int R=0;
  1080. T0 * _ct=NULL;
  1081. T0 * _t2=NULL;
  1082. T0 * _t1=NULL;
  1083. /*IF*/if (rT7is_equal((T7*)/*(IRF4*/(T0 *)ms198/*)*/,XrT58written_mark(a1))) {
  1084. R=1;
  1085. }
  1086. else {
  1087. _ct=((T260*)a2)->_current_type;
  1088. _t1=rT110to_runnable(C,_ct);
  1089. _t2=XrT58to_runnable(a1,_ct);
  1090. /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) {
  1091. R=1;
  1092. }
  1093. else {
  1094. R=XrT58is_a(_t1,_t2);
  1095. }
  1096. /*FI*/}
  1097. /*FI*/return R;
  1098. }
  1099. void rT110copy(T110 *C,T0 * a1){
  1100. /*IF*//*AF*//*AE*/
  1101. memcpy(C,a1,s[C->id]);
  1102. /*FI*/}
  1103. int ofBC110check_type=0;
  1104. void rT110check_type(T110 *C){
  1105. T0 * _rc=NULL;
  1106. T0 * _bc=NULL;
  1107. if (ofBC110check_type==0){
  1108. ofBC110check_type=1;
  1109. _bc=rT110base_class(C);
  1110. /*IF*/if (!(_bc)) {
  1111. rT110error(rT110start_position(C),(T0 *)ms1447);
  1112. }
  1113. /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
  1114. _rc=rT110run_class(C);
  1115. }
  1116. /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
  1117. /*IF*/if (!(((T50*)_bc)->_is_expanded)) {
  1118. rT110error(rT110start_position(C),(T0 *)ms1448);
  1119. }
  1120. /*FI*/}
  1121. /*FI*/}
  1122. }
  1123. int rT110has_creation(T110 *C,T0 * a1){
  1124. int R=0;
  1125. /*UT*/(T45*)oRBC27eh;
  1126. rT45add_position(XrT67start_position(a1));
  1127. rT110error(rT110start_position(C),(T0 *)ms1492);
  1128. return R;
  1129. }
  1130. void rT110load_ref(/*C*/T0* a1){
  1131. T0 * _rf=NULL;
  1132. T0 * _rc=NULL;
  1133. T0 * _cn=NULL;
  1134. {T48 *n=((T48*)new(48));
  1135. rT48make(n,a1,NULL);
  1136. _cn=(T0 *)n;}
  1137. _rc=rT50run_class((T50*)rT48base_class((T48*)_cn));
  1138. rT260set_at_run_time((T260*)_rc);
  1139. _rf=rT260get_feature_with((T260*)_rc,(T0 *)ms1462);
  1140. }
  1141. void rT111fatal_error(/*C*/T0* a1){
  1142. rT45fatal_error((T45*)oRBC27eh,a1);
  1143. }
  1144. int ofBC111used_as_reference=0;
  1145. void rT111used_as_reference(/*C*/void){
  1146. if (ofBC111used_as_reference==0){
  1147. ofBC111used_as_reference=1;
  1148. rT111load_ref((T0 *)ms195);
  1149. }
  1150. }
  1151. T0* rT111generic_list(T111 *C){
  1152. T0* R=NULL;
  1153. /*UT*/(T45*)oRBC27eh;
  1154. rT45add_type((T0 *)C,(T0 *)ms1437);
  1155. rT45print_as_fatal_error((T45*)oRBC27eh);
  1156. return R;
  1157. }
  1158. T0 * rT111look_up_for(T111 *C,T0 * a1,T0 * a2){
  1159. T0 * R=NULL;
  1160. T0 * _bc=NULL;
  1161. _bc=rT111base_class(C);
  1162. /*IF*/if (((int)_bc)) {
  1163. R=rT50look_up_for((T50*)_bc,a1,a2);
  1164. }
  1165. else {
  1166. /*UT*/(T45*)oRBC27eh;
  1167. rT45append((T0 *)ms481);
  1168. /*UT*/(T45*)oRBC27eh;
  1169. rT45add_type((T0 *)C,(T0 *)ms38);
  1170. rT45print_as_error((T45*)oRBC27eh);
  1171. }
  1172. /*FI*/return R;
  1173. }
  1174. T0 * rT111run_class(T111 *C){
  1175. T0 * R=NULL;
  1176. R=(/*UT*/(T52*)oRBC27small_eiffel,
  1177. rT52run_class(rT111run_type(C)));
  1178. return R;
  1179. }
  1180. void rT111mapping_c_in(/*C*/T0* a1){
  1181. rT7extend((T7*)a1,'T');
  1182. rT2append_in(/*(IRF4*/2/*)*/,a1);
  1183. }
  1184. T0 * rT111smallest_ancestor(T111 *C,T0 * a1){
  1185. T0 * R=NULL;
  1186. T0 * _rto=NULL;
  1187. _rto=XrT58run_type(a1);
  1188. /*IF*/if (XrT58is_integer(_rto)) {
  1189. R=(T0 *)C;
  1190. }
  1191.  else if (XrT58is_real(_rto)) {
  1192. R=a1;
  1193. }
  1194.  else if (XrT58is_double(_rto)) {
  1195. R=a1;
  1196. }
  1197.  else if (XrT58is_reference(_rto)) {
  1198. R=rT116smallest_ancestor((T116*)rT111type_integer_ref(),a1);
  1199. }
  1200. else {
  1201. rT111fatal_error((T0 *)ms1473);
  1202. }
  1203. /*FI*/return R;
  1204. }
  1205. void rT111expanded_to_reference(T111 *C){
  1206. rT40conversion((T40*)oRBC27cpp,(T0 *)C,rT111type_integer_ref());
  1207. }
  1208. int rT111is_a(T111 *C,T0 * a1){
  1209. int R=0;
  1210. /*IF*/if (((XrT58is_integer(a1))||(XrT58is_double(a1)))||(XrT58is_real(a1))) {
  1211. R=1;
  1212. }
  1213. else {
  1214. R=rT50is_subclass_of((T50*)rT111base_class(C),XrT58base_class(a1));
  1215. }
  1216. /*FI*//*IF*/if (!(R)) {
  1217. /*UT*/(T45*)oRBC27eh;
  1218. rT45add_type((T0 *)C,(T0 *)ms1483);
  1219. /*UT*/(T45*)oRBC27eh;
  1220. rT45add_type(a1,(T0 *)ms38);
  1221. }
  1222. /*FI*/return R;
  1223. }
  1224. void rT111make(T111 *C,T0 * a1){
  1225. {T48 *n=((T48*)new(48));
  1226. rT48make(n,(T0 *)ms194,a1);
  1227. C->_base_class_name=(T0 *)n;}
  1228. }
  1229. void rT111c_type_in(/*C*/T0* a1){
  1230. rT7append((T7*)a1,(T0 *)ms1499);
  1231. }
  1232. int ofBC27type_integer_ref=0;
  1233. T0*oRBC27type_integer_ref;
  1234. T0 * rT111type_integer_ref(/*C*/void){
  1235. T0 * R=NULL;
  1236. T0 * _integer_ref=NULL;
  1237. if (ofBC27type_integer_ref==0){
  1238. ofBC27type_integer_ref=1;
  1239. {T48 *n=((T48*)new(48));
  1240. rT48make(n,(T0 *)ms195,NULL);
  1241. _integer_ref=(T0 *)n;}
  1242. {T116 *n=((T116*)new(116));
  1243. /*(IRF3*/((n)->_base_class_name)=(_integer_ref);
  1244. /*)*/R=(T0 *)n;}
  1245. oRBC27type_integer_ref=R;}
  1246. return oRBC27type_integer_ref;}
  1247. T0 * rT111run_type(T111 *C){
  1248. T0 * R=NULL;
  1249. R=(T0 *)C;
  1250. return R;
  1251. }
  1252. T0 * rT111to_runnable(T111 *C,T0 * a1){
  1253. T0 * R=NULL;
  1254. R=(T0 *)C;
  1255. rT111check_type(C);
  1256. return R;
  1257. }
  1258. void rT111error(/*C*/T0 * a1,T0* a2){
  1259. /*UT*/(T45*)oRBC27eh;
  1260. rT45add_position(a1);
  1261. rT45error((T45*)oRBC27eh,a2);
  1262. }
  1263. T0 * rT111start_position(T111 *C){
  1264. T0 * R=NULL;
  1265. R=((T48*)(C)->_base_class_name)->_start_position;
  1266. return R;
  1267. }
  1268. T0 * rT111base_class(T111 *C){
  1269. T0 * R=NULL;
  1270. R=rT48base_class((T48*)(C)->_base_class_name);
  1271. return R;
  1272. }
  1273. int rT111is_a_in(T111 *C,T0 * a1,T0 * a2){
  1274. int R=0;
  1275. T0 * _ct=NULL;
  1276. T0 * _t2=NULL;
  1277. T0 * _t1=NULL;
  1278. /*IF*/if (rT7is_equal((T7*)/*(IRF4*/(T0 *)ms194/*)*/,XrT58written_mark(a1))) {
  1279. R=1;
  1280. }
  1281. else {
  1282. _ct=((T260*)a2)->_current_type;
  1283. _t1=rT111to_runnable(C,_ct);
  1284. _t2=XrT58to_runnable(a1,_ct);
  1285. /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) {
  1286. R=1;
  1287. }
  1288. else {
  1289. R=XrT58is_a(_t1,_t2);
  1290. }
  1291. /*FI*/}
  1292. /*FI*/return R;
  1293. }
  1294. void rT111copy(T111 *C,T0 * a1){
  1295. /*IF*//*AF*//*AE*/
  1296. memcpy(C,a1,s[C->id]);
  1297. /*FI*/}
  1298. int ofBC111check_type=0;
  1299. void rT111check_type(T111 *C){
  1300. T0 * _rc=NULL;
  1301. T0 * _bc=NULL;
  1302. if (ofBC111check_type==0){
  1303. ofBC111check_type=1;
  1304. _bc=rT111base_class(C);
  1305. /*IF*/if (!(_bc)) {
  1306. rT111error(rT111start_position(C),(T0 *)ms1449);
  1307. }
  1308. /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
  1309. _rc=rT111run_class(C);
  1310. }
  1311. /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
  1312. /*IF*/if (!(((T50*)_bc)->_is_expanded)) {
  1313. rT111error(rT111start_position(C),(T0 *)ms1450);
  1314. }
  1315. /*FI*/}
  1316. /*FI*/}
  1317. }
  1318. int rT111has_creation(T111 *C,T0 * a1){
  1319. int R=0;
  1320. /*UT*/(T45*)oRBC27eh;
  1321. rT45add_position(XrT67start_position(a1));
  1322. rT111error(rT111start_position(C),(T0 *)ms1492);
  1323. return R;
  1324. }
  1325. void rT111load_ref(/*C*/T0* a1){
  1326. T0 * _rf=NULL;
  1327. T0 * _rc=NULL;
  1328. T0 * _cn=NULL;
  1329. {T48 *n=((T48*)new(48));
  1330. rT48make(n,a1,NULL);
  1331. _cn=(T0 *)n;}
  1332. _rc=rT50run_class((T50*)rT48base_class((T48*)_cn));
  1333. rT260set_at_run_time((T260*)_rc);
  1334. _rf=rT260get_feature_with((T260*)_rc,(T0 *)ms1462);
  1335. }
  1336. T0 * rT112run_type(T112 *C){
  1337. T0 * R=NULL;
  1338. R=(T0 *)C;
  1339. return R;
  1340. }
  1341. void rT112fatal_error(/*C*/T0* a1){
  1342. rT45fatal_error((T45*)oRBC27eh,a1);
  1343. }
  1344. T0 * rT112to_runnable(T112 *C,T0 * a1){
  1345. T0 * R=NULL;
  1346. R=(T0 *)C;
  1347. return R;
  1348. }
  1349. void rT112error(/*C*/T0 * a1,T0* a2){
  1350. /*UT*/(T45*)oRBC27eh;
  1351. rT45add_position(a1);
  1352. rT45error((T45*)oRBC27eh,a2);
  1353. }
  1354. void rT112cast_to_ref(T112 *C){
  1355. XrT58cast_to_ref(rT112run_type(C));
  1356. }
  1357. int rT112id(/*C*/void){
  1358. int R=0;
  1359. rT112fatal_error((T0 *)ms1461);
  1360. return R;
  1361. }
  1362. T0 * rT112start_position(T112 *C){
  1363. T0 * R=NULL;
  1364. R=((T48*)(C)->_base_class_name)->_start_position;
  1365. return R;
  1366. }
  1367. T0* rT112generic_list(T112 *C){
  1368. T0* R=NULL;
  1369. /*UT*/(T45*)oRBC27eh;
  1370. rT45add_type((T0 *)C,(T0 *)ms1437);
  1371. rT45print_as_fatal_error((T45*)oRBC27eh);
  1372. return R;
  1373. }
  1374. T0 * rT112look_up_for(T112 *C,T0 * a1,T0 * a2){
  1375. T0 * R=NULL;
  1376. T0 * _bc=NULL;
  1377. _bc=/*(IRF4*/NULL/*)*/;
  1378. /*IF*/if (((int)_bc)) {
  1379. R=rT50look_up_for((T50*)_bc,a1,a2);
  1380. }
  1381. else {
  1382. /*UT*/(T45*)oRBC27eh;
  1383. rT45append((T0 *)ms481);
  1384. /*UT*/(T45*)oRBC27eh;
  1385. rT45add_type((T0 *)C,(T0 *)ms38);
  1386. rT45print_as_error((T45*)oRBC27eh);
  1387. }
  1388. /*FI*/return R;
  1389. }
  1390. T0 * rT112run_class(T112 *C){
  1391. T0 * R=NULL;
  1392. R=(/*UT*/(T52*)oRBC27small_eiffel,
  1393. rT52run_class(rT112run_type(C)));
  1394. return R;
  1395. }
  1396. void rT112mapping_c_in(/*C*/T0* a1){
  1397. rT7extend((T7*)a1,'T');
  1398. rT2append_in(rT112id(),a1);
  1399. }
  1400. T0 * rT112smallest_ancestor(/*C*/T0 * a1){
  1401. T0 * R=NULL;
  1402. R=a1;
  1403. return R;
  1404. }
  1405. void rT112copy(T112 *C,T0 * a1){
  1406. /*IF*//*AF*//*AE*/
  1407. memcpy(C,a1,s[C->id]);
  1408. /*FI*/}
  1409. int rT112is_a_in(T112 *C,T0 * a1,T0 * a2){
  1410. int R=0;
  1411. T0 * _ct=NULL;
  1412. T0 * _t2=NULL;
  1413. T0 * _t1=NULL;
  1414. /*IF*/if (rT7is_equal((T7*)/*(IRF4*/(T0 *)ms185/*)*/,XrT58written_mark(a1))) {
  1415. R=1;
  1416. }
  1417. else {
  1418. _ct=((T260*)a2)->_current_type;
  1419. _t1=rT112to_runnable(C,_ct);
  1420. _t2=XrT58to_runnable(a1,_ct);
  1421. /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) {
  1422. R=1;
  1423. }
  1424. else {
  1425. R=XrT58is_a(_t1,_t2);
  1426. }
  1427. /*FI*/}
  1428. /*FI*/return R;
  1429. }
  1430.